#include <assert.h>
#include <ctype.h>
#include <locale.h>
#include <errno.h>
#include <float.h>
#include <inttypes.h>
#include <limits.h>
#include <math.h>
#include <pthread.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdnoreturn.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <windows.h>

void main(void)
{
    int a = 55;
    int b = 66;
    int *p = &a;
    // 指针本身的地址不会变化，它反映了系统需要为指针p分配地址这一概念。
    printf("&a:%#p,&b:%#p,&p:%#p\n", &a, &b, &p);
    printf("%d %d &a:%#p &p:%#p\n", a, b, p, &p);
    a = 88;
    *p = a;
    printf("%d %d &a:%#p &p:%#p\n", a, *p, p, &p);
    p = &b;
    printf("%d %d &b:%#p &p:%#p\n", a, *p, p, &p);
    system("pause");
}